package cn.zyq.baking.mapper;

import cn.zyq.baking.pojo.entity.Content;
import cn.zyq.baking.pojo.vo.*;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ContentMapper {
    /**保存一篇文章*/
    int insert(Content content);
    /**根据类型和用户id查询文章*/
    List<ContentManagementVO> listForManagement_byTypeAndUserId(Long type, Long userId);
    /**根据id删除某个文章*/
    int deleteById(Long id);
    /**加载要修改的文章*/
    ContentUpdateVO selectForUpdateById(Long id);

    /**修改某文章*/
    int update(Content content);

    /**根据文章类型和文章id查询四篇文章用于： 在首页显示*/
    List<ContentIndexVO> listForIndexByTypeAndCategoryId(Long type, Long categoryId);
    /**根据文章id查询文章详情*/
    ContentDetailVO selectDetailById(Long id);

    /**根据用户id查询文章用于其他地方显示*/
    List<ContentSimpleVO> otherListByUserId(Long userId);

    /**热门文章列表*/
    List<ContentSimpleVO> listHot();

    /**根据id更新浏览量*/
    int updateViewCountById(Long id);

    /**根据类型查询文章用于在首页显示*/
    List<ContentIndexVO> listByType(Long type);

    /**根据关键字搜索文章*/
    List<ContentIndexVO> searchForIndex_byWord(String keyWord);

    /**根据类型查询文章用于给管理员显示*/
    List<ContentAdminVO> listForAdminByType(Long type);

    /**根据id更新评论数*/
    int updateCommentCountById(Long contentId);

}
